Inhalt: Beschreibung der Module aus dem Verzeichnis SOURCE\MISC.
        Der Text sollte vor Benutzung dieser Module gelesen werden.


Es handelt sich meist um Module, die aus meiner frheren HK_LIB fr
LPR-Modula entstanden sind, wobei vor allem nderungen hin zu Portabilitt,
wie sie fr die restlichen Module von M2LIB existiert, ntig waren.


BigSets
-------
Hiermit knnen Mengen mit bis zu 65535 Elementen verwendet werden.
Es sind alle grundlegenden Mengenoperationen vorhanden. Ein Element wird
dabei ber seine Ordinalzahl angesprochen. Es knnen Mengen unterschiedlicher
Gre miteinander verknpft werden.

DateLib
-------
Modul zur Verarbeitung von Kalenderdaten. Grundlage ist das Julianische
Datum, das einfach eine fortlaufende Zahl ist (Tage seit 1.1.4713 v.Chr.
mit der Tageszeit als Bruchteil).
Der Sprung zwischen Julianischem und Gregorianischem Kalender wird
bercksichtigt.

pVT52
-----
Prozeduren zur Verwendung der VT52-Escape-Sequenzen fr jedes Ausgabegert,
das diese versteht; es mu nur eine entsprechende Funktion fr die Ausgabe
von Einzelzeichen vom Programm festgelegt werden.

pTIMER
------
Hiermit lassen sich Zeiten innerhalb des Programms messen. Auerdem gibt
es eine 'Wait'-Funktion, die eine bestimmte Zeit wartet bis sie zurckkehrt;
dabei wird, falls mglich, der Proze suspendiert, so da keine Rechenzeit
beim "Busy waiting" verbraten wird.



Die folgenden Module gehren zu einer Sammlung sog. Abstrakter Datentypen
(ADT), d.h. es handelt sich um Datentypen, deren Interna verborgen bleiben
und die nur ber die exportierten Prozeduren angesprochen werden.

Die Implementierungen sind sowohl universell als auch effizient ausgelegt.
Jeder Datentyp kann Elemente einer bestimmten Gre aufnehmen, die bei der
Definition festgelegt wird. Der Speicherplatz fr die Elemente wird von
den Operationen selber angefordert, so da sich der Programmierer nicht
darum zu kmmern braucht; man ist also nicht auf Pointer als Elemente
festgelegt, die dann auf die eigentlichen Daten zeigen, fr die man
selber Speicher anfordern mu; aber natrlich ist auch das mglich, da
der Typ der Elemente, bzw. deren Gre, bei der Definition frei gewhlt
werden kann.

Da die Gre der Elemente innerhalb eines ADT-Objekts konstant ist, kann
auch eine spezielle Speicherverwaltung verwendet werden, die deutlich
schneller als die normale ist. Der Speicher wird ber die normale
Speicherverwaltung in greren Blcken angefordert und innerhalb dieser
Blcke arbeitet dann die spezielle Verwaltung. Bei der Definition kann
die Gre dieser Blcke in Elementen angegeben werden, so da auch eine
gewisse Beeinflussung mglich ist.


ADTBase
-------
Enthlt im wesentlichen die Speicherverwaltung fr die ADTs.

DLists
------
Doppelt verkettete, zirkulre Listen mit allen denkbaren Zugriffsoperationen.

Queues
------
FIFO-Schlangen, d.h. neue Elemente werden ans Ende geschrieben und von
vorne wieder entfernt, so da die Reihenfolge erhalten bleibt.
Wird in 'tadt' und im M2-Scanner aus UTILS verwendet.

Stacks
------
LIFO-Schlangen, d.h. neue Elemente werden an den Anfang geschrieben und
auch von dort wieder entfernt, so da sich die Reihenfolge umdreht.
Wird in 'tadt' verwendet.

RBTrees
-------
Sog. Rot-Schwarz-Bume. Eine spezielle Art ausgeglichener, binrer Bume,
die nicht ganz so exakt ausgeglichen wie AVL-Bume ist, dafr aber auch
etwas schneller.
Wird in 'tadt' und im M2-Scanner aus UTILS verwendet.



Literatur
=========================================================================

Modula-2 allgemein
-------------------------------------------------------------------------
o Richard F. Sincovec, Richard S. Wiener: Modula-2 - Software Components,
  John Wiley & Sons, 1987

  / Konstruktion von allgemein verwendbaren Modulen & Modulbibliothek
    z.T. im Buch und auch auf Diskette fr IBM-Kompatible /

o M. Woodman, R. Griffith, J. Souter, M. Davies: Portable Modula-2
  Programming, McGraw-Hill, 1989

o Gary A. Ford, Richard S. Wiener: Modula-2 - A Software Development
  Approach, John Wiley & Sons, 1985

  / Eins der besten Bcher mit/ber Modula; neben allg. Kriterien
    zur Softwareerstellung auch ausfhrliche Beispiele, wo andere
    Bcher sich mit kurzen Hinweisen begngen /

o Dal Cin, Lutz, Risse: Programmierung in Modula-2, B.G. Teubner, 1986

  / Dieses kleine Buch ist eine kompakte Einfhrung in Modula und
    hat weiter keine Besonderheiten, auer da es eine ausfhrliche
    Behandlung von Koroutinen (50 Seiten) mit Beispielprogrammen gibt /

o Ernst A. Heinz: Parallele Programmierung mit Modula-2, Vieweg,
  Braunschweig, 1990

  / Sehr interessantes Buch ber die Programmierung mit Koroutinen /



Algorithmen, Datenstrukturen
-----------------------------------------------------------------------
o Richard F. Sincovec, Richard S. Wiener : Data Structures Using Modula-2,
  John Wiley & Sons, 1986

  / In dem Buch ist genau das drin, was drauf steht. Anhand von
    Implementierungen werden die gngigsten Datenstrukturen (Listen,
    Stacks, Warteschlangen, Bume (auch Bayer-Bume), Hash-Tabellen)
    und Sortieralgorithmen ausfhrlich mit z.T. interessanten Anwendungen
    dargestellt. Die Implementierungen knnen direkt bernommen werden
    (haben hnlichkeit mit den Programmen aus 'Modula-2 - Software
    Components' -- sind ja auch dieselben Autoren). Das ganze ist dann
    auch eher vom implementierungstechnischen Standpunkt als vom
    theoretischen aus gesehen. /

o Niklaus Wirth: Algorithmen und Datenstrukturen mit Modula-2,
  B.G. Teubner, 1986

  / Hier werden die Grundlagen der Datenkonstruktion und viele wichtige
    Algorithmen vorgestellt. Leider sind die entsprechenden Implemen-
    tierungen in Modula fast ohne jeden Kommentar, und die Erluterungen
    der Algorithmen im Text sehr knapp gehalten, so da krftige Mitarbeit
    des Lesers unumgnglich ist /

o Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest:
  Introduction to Algorithms, MIT Press, McGraw-Hill Book Company, 1990

o Kurt Mehlhorn: Data Structures and Algorithms 1: Sorting and Searching,
  Springer Verlag, 1984

  / Nur fr Leute, die sehr an der Theorie interessiert sind, da reichlich
    schwer zu verdauen... /

o A.M. Lister, R.D. Eager: Fundamentals of Operating Systems, Macmillan
  Computer Science Series, 1988

  / Besonders in den ersten Kapiteln leichverstndliche Einfhrung
    in die Konstruktion eines allgemeinen Betriebssystems mit
    Erluterungen zu parallelen Prozessen, Systemdiensten, Speicher-
    verwaltung usw. /



ATARI-Spezifisches
---------------------------------------------------------------------
o Hans-Dieter Jankowski, Dietmar Rabich, Julian F. Reschke:
  ATARI Profibuch ST-STE-TT, SYBEX, Dsseldorf, 11. Auflage 1992

  / Umfassende Referenz fr Betriebssystemfunktionen und Hardware des
    ATARI. Der Falcon wird leider nicht beschrieben. /

o Scott Sanders: The Atari Compendium, SDS Publishing, 1993

  / Nicht ganz so umfassend wie das Profibuch, dafr aber aktueller /

o Alex Esser: Auf der Schwelle zum Licht/Somewhere over the Rainbow
  'ST-Computer'-Serie zwischen 1/88 und 10/90

  / Das TOS-Versionen 1.02 bzw. 1.04 und besonders deren GEMDOS
    werden in der Funktionsweise erklrt, und vor allem was bzw. was
    nicht so funktioniert wie es sollte /
